Page({
  data: {
    activities: [
        {
          id: 1,
          title: "草坪音乐节",
          description: "感受音乐与大自然的完美融合，来草坪音乐节尽情享受吧！",
          image: "https://img1.baidu.com/it/u=2751549364,202018401&fm=253&fmt=auto&app=120&f=JPEG?w=750&h=500",
          liked: false,
          likesCount: 0,
          date: "2024-05-15",
          attendees: 350, // 活动人数
          details: "草坪音乐节将为你带来无与伦比的音乐体验。活动现场不仅会有多位国内外知名乐队和歌手的精彩演出，还有丰富的美食和饮品摊位，让你一边享受美妙的音乐，一边品尝各种美食。我们还为参与者准备了精美的小礼品和抽奖活动，让每位参与者都能带走美好的回忆。"
        },
        {
          id: 2,
          title: "校园篮球赛",
          description: "全校篮球爱好者齐聚一堂，展现风采，激烈角逐！",
          image: "https://img1.baidu.com/it/u=2160915281,2907086446&fm=253&fmt=auto&app=120&f=JPEG?w=750&h=500",
          liked: false,
          likesCount: 0,
          date: "2023-03-20",
          attendees: 120, // 活动人数
          details: "校园篮球赛是每年一度的盛大赛事，吸引了全校的篮球爱好者前来参赛和观赛。赛事分为男子组和女子组，参与者不仅能在比赛中展现自己的篮球技能，还能体验团队合作的精神。比赛现场气氛热烈，观众们为自己的支持队伍加油助威，场面非常激动人心。"
        },
        {
          id: 3,
          title: "义工服务活动",
          description: "加入我们，参与社会服务，传递温暖与关爱。",
          image: "https://img0.baidu.com/it/u=549789744,1366152907&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=375",
          liked: false,
          likesCount: 0,
          date: "2024-11-21",
          attendees: 200, // 活动人数
          details: "义工服务活动旨在鼓励大学生走出校园，参与社会公益，为社区、贫困地区及需要帮助的人群提供援助。活动内容包括但不限于为老人送温暖、支教、环保清理、帮助低收入家庭修缮住房等。"
        },
        {
          id: 4,
          title: "荧光夜跑",
          description: "全民健身，挑战自我，超越极限！",
          image: "https://img2.baidu.com/it/u=4267421306,1687176620&fm=253&fmt=auto&app=120&f=JPEG?w=867&h=500",
          liked: false,
          likesCount: 0,
          date: "2023-12-25",
          attendees: 500, // 活动人数
          details: "荧光夜跑是一项富有创意的夜间跑步活动，它结合了跑步与荧光元素，让参与者在夜晚的街道上成为一道亮丽的风景线。活动注重跑步的健康和安全，所有参赛者都会在赛事前接受专业的热身指导，并配备足够的水站和救护点。"
        },
        {
          id: 5,
          title: "科学讲座：人工智能",
          description: "解读人工智能领域的最新进展与挑战。",
          image: "https://pic.rmb.bdstatic.com/bjh/3ea18fe2330a/240906/a2f22497a1342e757531adeb817f2fcb.png",
          liked: false,
          likesCount: 0,
          date: "2024-02-18",
          attendees: 150, // 活动人数
          details: "人工智能（AI）是当今科技发展的最前沿领域之一，它正在深刻地改变各行各业的面貌。此次科学讲座将邀请人工智能领域的专家学者，为同学们深入讲解人工智能的最新进展与未来发展方向。讲座内容包括人工智能的基础理论、机器学习、深度学习、人工智能在各行业中的应用案例以及当前人工智能技术所面临的挑战和伦理问题等。"
        }
      ]
      .sort((a, b) => new Date(b.date) - new Date(a.date)) // 按照活动日期从新到旧排序
      
  },

  onLoad() {
    // 页面加载时直接从本地存储获取活动数据
    const activities = wx.getStorageSync('activities') || [];
    
    // 合并原有数据（this.data.activities）和从存储获取的新活动数据
    const allActivities = activities.concat(this.data.activities); 
  
    // 更新活动列表
    this.setData({
      activities: allActivities.sort((a, b) => new Date(b.date) - new Date(a.date)) // 重新排序
    });
  },

// 点赞按钮点击事件
onLikeClick(e) {
  const id = e.currentTarget.dataset.id;
  const activities = this.data.activities;
  const activity = activities.find(item => item.id === id);

  if (activity) {
    // 切换点赞状态
    activity.liked = !activity.liked;

    // 更新点赞人数
    if (activity.liked) {
      activity.likesCount += 1;
    } else {
      activity.likesCount -= 1;
    }

    this.setData({
      activities: activities, // 更新活动列表数据
    });

    // 更新本地存储中的活动数据
    wx.setStorageSync('activities', activities);
  }
},

// 查看详情点击事件
onViewDetails(e) {
  const id = e.currentTarget.dataset.id;
  wx.navigateTo({
    url: `/pages/activity-detail/activity-detail?id=${id}`, // 跳转到活动详情页面
  });
},

// 发布按钮点击事件
onPublishClick() {
  wx.navigateTo({
    url: '/pages/post1/post1',
  });
},

// 我的发布按钮点击事件
onMyPublishClick() {
 const activities = wx.getStorageSync('activities') || [];
 // 筛选出动态活动（ id > 5 是动态活动）
 const myActivities = activities.filter(activity => activity.id > 5);
 // 如果没有符合条件的活动数据，则提醒用户
 if (myActivities.length === 0) {
  wx.showToast({
  title: '您还未发布活动',
  icon: 'none',
  duration: 2000
});
return;
}
  // 将动态活动数据传递到 mypost 页面
wx.navigateTo({
    url: `/pages/mypost/mypost?activities=${JSON.stringify(myActivities)}`
  });
},

onPullDownRefresh() {
    const activities = wx.getStorageSync('activities') || []; // 获取从本地存储中保存的新活动
    // 获取静态活动（id 1-5）
    const staticActivities = this.data.activities.filter(activity => activity.id <= 5);
    
    // 合并新数据和当前页面已有的数据
    const allActivities = activities.concat(staticActivities);
    
    // 去重：使用 map 和 filter 通过 id 来去重
    const uniqueActivities = allActivities.filter((value, index, self) => 
      index === self.findIndex((t) => (t.id === value.id)) // 保证 id 唯一
    );
    
    // 更新活动列表，并重新排序
    this.setData({
      activities: uniqueActivities.sort((a, b) => new Date(b.date) - new Date(a.date)) // 按日期重新排序
    });
  
    // 停止下拉刷新
    wx.stopPullDownRefresh();
  
    // 显示刷新成功的提示
    wx.showToast({
      title: '活动已刷新',
      icon: 'success',
      duration: 2000,
    });
    
}
});
